package com.edu.service;

import com.edu.bean.Dish;
import com.edu.dao.DishDao;

import java.util.List;

public class AdminDishService {
    private DishDao dishDao = new DishDao();

    /**
     * 获取总记录数
     */
    public int adminGetTotalCount() {
        return dishDao.findTotalCount();
    }

    /**
     * 分页获取菜品列表
     * @param currentPage 当前页码
     * @param pageSize 每页大小
     */
    public List<Dish> adminListDishesByPage(int currentPage, int pageSize) {
        int start = (currentPage - 1) * pageSize;
        return dishDao.findByPage(start, pageSize);
    }

    /**
     * 获取所有菜品
     */
    public List<Dish> adminListDishes() {
        return dishDao.findAll();
    }

    /**
     * 获取单个菜品
     */
    public Dish adminGetDish(Integer dishId) {
        return dishDao.findById(dishId);
    }

    /**
     * 添加菜品
     */
    public boolean adminAddDish(Dish dish) {
        return dishDao.add(dish);
    }

    /**
     * 更新菜品
     */
    public boolean adminUpdateDish(Dish dish) {
        return dishDao.update(dish);
    }

    /**
     * 删除菜品
     */
    public boolean adminDeleteDish(Integer dishId) {
        return dishDao.delete(dishId);
    }

    /**
     * 根据菜品名称获取总记录数
     */
    public int adminGetTotalCountByName(String dishName) {
        return dishDao.findTotalCountByName(dishName);
    }

    /**
     * 根据菜品名称分页获取菜品列表
     */
    public List<Dish> adminListDishesByPageAndName(String dishName, int currentPage, int pageSize) {
        int start = (currentPage - 1) * pageSize;
        return dishDao.findByPageAndName(dishName, start, pageSize);
    }
}